
#include "stdafx.h"
#include "ExceptionList.h"

HookEngineException::HookEngineException(){}

FatalException::FatalException(const char * pErrMsg)
{
	assert(pErrMsg);
	assert(!IsBadStringPtrA(pErrMsg, MaxErrMsgLen));
	TRACEA(pErrMsg);
}

NullPointerException::NullPointerException(const char * pErrMsg)
{
	assert(pErrMsg);
	assert(!IsBadStringPtrA(pErrMsg, MaxErrMsgLen));
	TRACEA(pErrMsg);
}


OutOfMemoryException::OutOfMemoryException(const char * pErrMsg)
{
	assert(pErrMsg);
	assert(!IsBadStringPtrA(pErrMsg, MaxErrMsgLen));
	TRACEA(pErrMsg);
}

ArgumentException::ArgumentException(const char * pErrMsg)
{
	assert(pErrMsg);
	assert(!IsBadStringPtrA(pErrMsg, MaxErrMsgLen));
	TRACEA(pErrMsg);
}

AllocationFailureException::AllocationFailureException(const char * pErrMsg)
{
	assert(pErrMsg);
	assert(!IsBadStringPtrA(pErrMsg, MaxErrMsgLen));

	TRACEA(pErrMsg);
}

AllocationFailureException::AllocationFailureException(const char * pErrMsg, int errorCode)
{
	assert(pErrMsg);
	assert(!IsBadStringPtrA(pErrMsg, MaxErrMsgLen));
	if(pErrMsg==NULL)
	{
		ArgumentException ExceptionObj("pErrMsg is NULL\n");
		throw ExceptionObj;
	}

	sprintf_s(m_szErrMsg, sizeof(m_szErrMsg), pErrMsg, errorCode);
	TRACEA(m_szErrMsg);
}

Win32APIFailureException::Win32APIFailureException(const char * pErrMsg)
{
	TRACEA(pErrMsg);
}

Win32APIFailureException::Win32APIFailureException(const char * pErrMsg, int errorCode)
{
	sprintf_s(m_szErrMsg, sizeof(m_szErrMsg), pErrMsg, errorCode);
	TRACEA(m_szErrMsg);
}